package com.ilearn.iodata.iolingo.service.metadata.core.edm.mapper.api;

import java.util.Set;

/**
 * Created by lyndon on 2018/5/29.
 */
public interface FetchParent<Z, X> {
    Set<Fetch<X, ?>> getFetches();

    <Y> Fetch<X, Y> fetch(SingularAttribute<? super X, Y> var1);

    <Y> Fetch<X, Y> fetch(SingularAttribute<? super X, Y> var1, JoinType var2);

    <Y> Fetch<X, Y> fetch(PluralAttribute<? super X, ?, Y> var1);

    <Y> Fetch<X, Y> fetch(PluralAttribute<? super X, ?, Y> var1, JoinType var2);

    <X, Y> Fetch<X, Y> fetch(String var1);

    <X, Y> Fetch<X, Y> fetch(String var1, JoinType var2);
}
